Emulator Atari 800 unter Linux Ubuntu - Joystick

← Zurück zum Forum

Hallo Zusammen,

unter Mac und Windows läuft alles wie gewünscht. Nun habe ich Atari 800 auch unter Linux Ubuntu 23.04. installiert. Auch hier läuft alles, bis auf der Speedlink Competition Pro USB Joystick. Erkannt wird er in Ubuntu, aber ich bekomme ihn noch nicht im Emulator zu laufen. Hat da jemand einen Denkanstoß? Unter Controller Configuration - Configure Real Joystick hab ich alles aktiviert.

Beste Grüße

Regionalgruppe Nord (Elmshorn)

Moin!

Bin auch gerade dabei einen Emulator (atari800) einzurichten. Habe aber noch keine Programme, sodass ich nicht testen kann, ob er bei mir funktioniert. - Werde mir gleich mal ein Spiel besorgen, damit kann ich den Joystick ja dann testen.

Hast Du geprüft, ob der Joystick unter Linux korrekt eingebunden ist?

cat /proc/bus/input/devices

Gib o.a. Kommando mal in ein Terminal ein. Da müsste er auftauchen. Bei mir steht da:

I: Bus=0003 Vendor=040b Product=6533 Version=0100
N: Name="A SPEED-LINK Competition Pro"
P: Phys=usb-0000:00:14.0-3.4.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.1/1-3.4.1:1.0/0003:040B:6533.0006/input/input18
U: Uniq=0001
H: Handlers=event15 js0 
B: PROP=0
B: EV=1b
B: KEY=f00000000 0 0 0 0
B: ABS=3
B: MSC=10

„Hardware nennt man die Teile eines Computers, die man treten kann.“, Jeff Pesis

Ja, der wird erkannt im Terminal.

I: Bus=0003 Vendor=0079 Product=181c Version=0111
N: Name="SPEEDLINK COMPETITION PRO Game Controller for Android "
P: Phys=usb-0000:00:14.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:0079:181C.000B/input/input28
U: Uniq=
H: Handlers=event15 js1 
B: PROP=0
B: EV=1b
B: KEY=7fff000000000000 0 0 0 0
B: ABS=30627
B: MSC=10

Regionalgruppe Nord (Elmshorn)

Nachtrag: ich hab ihn jetzt soweit, dass die Feuerknöpfe funktionieren. Aber noch nicht die Richtungen. Vermutlich muss er noch kalibriert werden.

Regionalgruppe Nord (Elmshorn)

Das ist ja gut. Ich habe leider noch Probleme bei der Konfiguration (s.u.). Ich bekomme das Device nicht gemapped. Wie sieht Deine Konfiguration aus?

eratosthenes@nuc:~$ atari800 -xl -huge -joy0 /dev/input/js0 ~/retro/games/centipede.atr 
Using Atari800 config file: /home/eratosthenes/.atari800.cfg
Created by Atari 800 Emulator, Version 5.0.0

Error opening "-joy0"
Error opening "/dev/input/js0"

Edit: Nachtrag - Ich hab's...

Zuerst kalibrieren (s.u.), dann die Werte in die Configdatei eintragen.

calibration.png

SDL_JOY_0_LEFT=5
SDL_JOY_0_RIGHT=250
SDL_JOY_0_UP=5
SDL_JOY_0_DOWN=250
SDL_JOY_0_TRIGGER=305
Anhänge:

„Hardware nennt man die Teile eines Computers, die man treten kann.“, Jeff Pesis

Guckt mal bitte auf der Konsole/Shell nach, ob ihr in der Gruppe "input" seid. Da ich meinen alten Rechner durch eine falsche RAM-Erweiterung in die ewigen Jagdgründe geschickt habe, musste ein neuer her und der wird jetzt von Scratch wieder neu aufgebaut, mein Gentoo-Linux war schon etwas in die Tage gekommen (so von 2008 oder so, aber aktuell) deshalb brauchte ich das auch.

 $ id
 uid=3457(develop) gid=100(users) Gruppen=100(users),18(audio),27(video),85(usb),97(input)

Entweder mittels

sudo usermod -a -G {groupname} {username}

groupname und username müssen existieren!

Oder Hardcore, die /etc/group als root im Editor öffnen und sich an die gewünschte Gruppe hinten anhängen. 😎

Danach einmal ausloggen und wieder einloggen. Ein id auf der Konsole sollte jetzt zeigen, das man Mitglied der Gruppe ist.

@LarsImNetz: Danke für den Tipp. Das ist aber nicht das Problem. Auf den Joystick kann ich (können Wir) zugreifen - siehe Kalibrierung.

Das Problem ist, dass atari800 anscheinend nicht automatisch den "Fangbereich" des Joysticks erkennt. Möglicherweise erkennt das Programm, wenn man den Joystick (/dev/input/js0) kalibriert, bevor man atari800 einrichtet, alles fehlerfrei. Das habe ich aber nicht ausprobiert.

Wenn man ihn so wie ich es beschrieben habe, konfiguriert und die Konfig Datei anpasst, funktioniert alles bestens...

P.S.: Hier die Konfig Datei: .atari800.zip

Anhänge:

„Hardware nennt man die Teile eines Computers, die man treten kann.“, Jeff Pesis

SDL_JOY_0_ENABLED=1
SDL_JOY_0_LEFT=260
SDL_JOY_0_RIGHT=262
SDL_JOY_0_UP=264
SDL_JOY_0_DOWN=261
SDL_JOY_0_TRIGGER=305

Meine Werte für SDL_JOY_0 damit geht es bei mir. Habe auch den Competition Pro, Digital:

$lsusb
Bus 001 Device 011: ID 040b:6533 Weltrend Semiconductor Speed-Link Competition Pro
[...]

Interessant. Hast Du den Joystick kalibriert?

Meiner zeigte 0-255 (links-rechts), 0-255 (oben-unten), Mitte: 128, 128 und hat nicht funktioniert. Erst als ich die Werte in der Konfiguration angepasst habe, lief er und der Joystick hat funktioniert...

„Hardware nennt man die Teile eines Computers, die man treten kann.“, Jeff Pesis

Eratosthenes schrieb: Wenn man ihn so wie ich es beschrieben habe, konfiguriert und die Konfig Datei anpasst, funktioniert alles bestens...

P.S.: Hier die Konfig Datei: .atari800.zip

Sorry für die späte Reaktion von mir.

Danke, das hat super funktioniert 😀

Regionalgruppe Nord (Elmshorn)